package com.kitty.game.npc;

import com.kitty.common.utils.SpringUtils;
import com.kitty.game.Qisha.QishaController;
import com.kitty.game.activity.model.user.RoleTowerData;
import com.kitty.game.activity.service.YuLuXianChi;
import com.kitty.game.activity.service.boos.DiFuYanMoHandler;
import com.kitty.game.activity.service.boos.DiFuYanMoHandler2;
import com.kitty.game.activity.service.boos.handler.*;
import com.kitty.game.activity.service.other.*;
import com.kitty.game.activity.service.seal.ShangGuBossHandler;
import com.kitty.game.activity.service.seal.WanNianBossHandler;
import com.kitty.game.activity.service.seal.YhuaNianshouBossHandler;
import com.kitty.game.activity.service.shidao.ShiDaoHandler;
import com.kitty.game.activity.service.shidao.ShiDaoMonsterHandler;
import com.kitty.game.activity.service.task.*;
import com.kitty.game.activity.service.task.xiulian.ShiJueZhenTaskHandler;
import com.kitty.game.activity.service.task.xiulian.XiuXingTaskHandler;
import com.kitty.game.activity.service.time.*;
import com.kitty.game.activity.service.vip.SuperVipService;
import com.kitty.game.bag.service.giftHandler.HunQiaoGiftHandler;
import com.kitty.game.bag.service.giftHandler.JewelryGiftHandler;
import com.kitty.game.baxian.controller.BaXianController;
import com.kitty.game.camp.service.CampService;
import com.kitty.game.common.TextViewController;
import com.kitty.game.config.NPC;
import com.kitty.game.difu.DifuService;
import com.kitty.game.difu.service.Call_GuiChongService;
import com.kitty.game.difushidao.service.DiFuShiDaoService;
import com.kitty.game.equip.handler.EquipProduceHandler;
import com.kitty.game.equip.service.*;
import com.kitty.game.haoxinzhi.service.NiceService;
import com.kitty.game.house.service.HouseService;
import com.kitty.game.hunpo.service.HunPoService;
import com.kitty.game.jiehun.JiehunService;
import com.kitty.game.mijing.MinjingController;
import com.kitty.game.newchoujiang.service.NewChouJiangService;
import com.kitty.game.npc.model.NpcButton;
import com.kitty.game.npc.model.NpcButtonParam;
import com.kitty.game.npc.model.NpcContentParam;
import com.kitty.game.npc.service.NewNpcService;
import com.kitty.game.npc.service.appreace.*;
import com.kitty.game.party.service.PartyService;
import com.kitty.game.pet.service.PetService;
import com.kitty.game.pk.service.PkService;
import com.kitty.game.role.model.Role;
import com.kitty.game.task.model.product.TaskTargetType;
import com.kitty.game.task.model.product.TaskType;
import com.kitty.game.task.service.targetHandler.DonateTargetHandler;
import com.kitty.game.task.service.targetHandler.TaskTargetHelper;
import com.kitty.game.task.service.taskHandler.*;
import com.kitty.game.utils.Const;
import com.kitty.game.welfare.service.OnlineRewardHandler;
import com.kitty.game.zhenmolu.service.ZhenMoLuService;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Function;


public class NpcDataPool {
    /**主线任务NPC，key: npcId, value: Npc产品对象*/
    public static Map<Integer, NPC> taskNpcMap = new HashMap<Integer, NPC>();

    /**key: npcId, value: [key: 门派 value: Npc产品对象]*/
    public static Map<Integer, Map<Byte, NPC>> taskSchoolNpcMap = new HashMap<>();
    /**key: npc名称, value: [key: 门派 value: Npc产品对象]*/
    public static Map<String, NPC> taskSchoolNpcMapByName = new HashMap<>();

    /**NPC按钮中返回的任务对话的前缀，其后为任务id*/
    public static final String TASK_TALK_PREFIX = "task_talk_";

    /**可以点击所在NPC位置的范围周长，在这个范围内才可以点*/
    public static final int NPC_CAN_CLICK_PERIMETER = 20;

    /**NPC内容处理 key: npc类型，value: 对应的处理*/
    public static Map<Byte, Consumer<NpcContentParam>> npcContentHandlers = new HashMap<>();

    /**NPC按钮选择处理 key: 关键字，value: 对应的处理*/
    public static Map<String, Consumer<NpcButtonParam>> npcButtonHandlers = new HashMap<>();
    /**NPC按钮前缀选择处理 key: 关键字，value: 对应的处理*/
    public static Map<String, Consumer<NpcButtonParam>> npcButtonPrefixHandlers = new HashMap<>();

    /**玩家使用物品时的按钮列表*/
    public static List<String> itemButtons = new ArrayList<>();

    /**特殊的按钮*/
    public static Map<Integer, List<Function<Role, String>>> spetialButtons = new HashMap<>();

    /**npc显示角色外观，key: npcId, value: 对应的处理类*/
    public static Map<Integer, AppearanceHandler> appearanceHandlers = new HashMap<>();

    static {

        npcButtonHandlers.put("fight_qiangdao_end", (npcButtonParam -> SpringUtils.getBean(YaBiaoTaskHandler.class).taskStep_yabiaostep4(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put("fight_qiangdao_yb", (npcButtonParam -> SpringUtils.getBean(YaBiaoTaskHandler.class).taskStep_yabiaostep2(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put("fight_qiangdao_tf", (npcButtonParam -> SpringUtils.getBean(YaBiaoTaskHandler.class).taskStep_yabiaostep3(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));

        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_ENTER_MAP.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).enterShiDaoMap(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        //天神下凡活动
        npcContentHandlers.put(NPC.TYPE_TIANBINGSHENJIANG, (npcContentParam -> SpringUtils.getBean(TianBingShenJiangHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));

        //攻城
        npcContentHandlers.put(NPC.TYPE_TIANBINGSHENJIANG, (npcContentParam -> SpringUtils.getBean(TianBingShenJiangHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));

        npcButtonHandlers.put(NpcButton.FIGHT_TO_TBSJ.getKey(), (npcButtonParam -> SpringUtils.getBean(TianBingShenJiangHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //百年刺猬
        npcButtonHandlers.put(NpcButton.FIGHT_TO_BaiNianCiWeiJing.getKey(), (npcButtonParam -> SpringUtils.getBean(BaiNianCiWeiJing.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //百年猪妖
        npcButtonHandlers.put(NpcButton.FIGHT_TO_BaiNianZhuYaoJing.getKey(), (npcButtonParam -> SpringUtils.getBean(BaiNIianZhuYaoJing.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //百年象精
        npcButtonHandlers.put(NpcButton.FIGHT_TO_BaiNianXiangJing.getKey(), (npcButtonParam -> SpringUtils.getBean(BaiNianXiangXing.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //百花
        npcButtonHandlers.put(NpcButton.FIGHT_TO_BAIHUAX.getKey(), (npcButtonParam -> SpringUtils.getBean(BaiHuaX.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //牛魔王
        npcButtonHandlers.put(NpcButton.FIGHT_TO_NIUMOWANG.getKey(), (npcButtonParam -> SpringUtils.getBean(NiuMoWang.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //夜叉王
        npcButtonHandlers.put(NpcButton.FIGHT_TO_YECHAWANG.getKey(), (npcButtonParam -> SpringUtils.getBean(YeChaWang.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //罗刹王
        npcButtonHandlers.put(NpcButton.FIGHT_TO_LUOCHAWANG.getKey(), (npcButtonParam -> SpringUtils.getBean(LuoChaWang.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //白骨精
        npcButtonHandlers.put(NpcButton.FIGHT_TO_BAIGUJING.getKey(), (npcButtonParam -> SpringUtils.getBean(BaiGuJing.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //孔雀妖姬
        npcButtonHandlers.put(NpcButton.FIGHT_TO_KONGQUEYAOJI.getKey(), (npcButtonParam -> SpringUtils.getBean(KongQueYaoJi.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        npcButtonHandlers.put(NpcButton.luobotaozi.getKey(), (npcButtonParam -> SpringUtils.getBean(LuoBoTaoZiHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        NpcDataPool.npcButtonHandlers.put(NpcButton.qmg_lingqurenwu.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).lingqurenwu_luobotaozi(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        NpcDataPool.npcButtonHandlers.put(NpcButton.qmg_tijiaoluobo.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).tijiaorenwu_luobotaozi(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        NpcDataPool.npcButtonHandlers.put(NpcButton.qmg_tijiaotaozi.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).tijiaorenwu_luobotaozi(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        NpcDataPool.npcButtonHandlers.put(NpcButton.qmg_tijiaodataozi.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).tijiaorenwu_luobotaozi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        NpcDataPool.npcButtonHandlers.put(NpcButton.qmg_tijiaodaluobo.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).tijiaorenwu_luobotaozi2(npcButtonParam.getRole(), npcButtonParam.getMsg())));


        //进入地府竞技大赛
        npcButtonHandlers.put(NpcButton.DIFU_SHIDAO_DASAI.getKey(), (npcButtonParam -> SpringUtils.getBean(DiFuShiDaoService.class).enterDIFUShiDaoMap(npcButtonParam.getRole(),  npcButtonParam.getNpc())));
        //离开竞技大赛
        npcButtonHandlers.put(NpcButton.DIFU_SHIDAO_DASAI_EXIT.getKey(), (npcButtonParam -> SpringUtils.getBean(DiFuShiDaoService.class).exitDIFUShiDaoMap(npcButtonParam.getRole(),  npcButtonParam.getNpc())));

        //地府召唤
        npcButtonHandlers.put(NpcButton.CALL_GUICHONG.getKey(), (npcButtonParam -> SpringUtils.getBean(Call_GuiChongService.class).callChongWu(npcButtonParam.getRole(), npcButtonParam.getMsg(), npcButtonParam.getNpc())));
        //结婚
        npcButtonHandlers.put("tiqin_dispatch", (npcButtonParam -> SpringUtils.getBean(JiehunService.class).npcButton(npcButtonParam.getRole(), npcButtonParam.getMsg(), npcButtonParam.getNpc())));
        npcButtonHandlers.put("buy_weddinglist", (npcButtonParam -> SpringUtils.getBean(JiehunService.class).npcButton(npcButtonParam.getRole(), npcButtonParam.getMsg(), npcButtonParam.getNpc())));
        // 地府BOOS
        npcButtonHandlers.put("fight_difu_boss", (npcButtonParam -> SpringUtils.getBean(DiFuYanMoHandler.class).challenge(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        // 二星地府BOOS
        npcButtonHandlers.put("fight_difu_boss2", (npcButtonParam -> SpringUtils.getBean(DiFuYanMoHandler2.class).challenge(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        // 魔龙吞天
        npcButtonHandlers.put(NpcButton.molong.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*魔龙之尾*/
        npcButtonHandlers.put(NpcButton.molong1.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiWeiHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*魔龙之眼*/
        npcButtonHandlers.put(NpcButton.molong2.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiYanHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*魔龙之首*/
        npcButtonHandlers.put(NpcButton.molong4.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiShouHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        // 二星魔龙吞天
        npcButtonHandlers.put(NpcButton.molong2x.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongHandler2.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*二星魔龙之尾*/
        npcButtonHandlers.put(NpcButton.molong12x.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiWeiHandler2.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*二星魔龙之眼*/
        npcButtonHandlers.put(NpcButton.molong22x.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiYanHandler2.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*二星魔龙之首*/
        npcButtonHandlers.put(NpcButton.molong42x.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiShouHandler2.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*魔龙之爪*/
        npcButtonHandlers.put(NpcButton.molong3.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiZhuaHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*二星魔龙之爪*/
        npcButtonHandlers.put(NpcButton.molong32x.getKey(), (npcButtonParam -> SpringUtils.getBean(MoLongZhiZhuaHandler2.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*进入大日金乌地图*/
        npcButtonHandlers.put(NpcButton.dariditu.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).dariditu(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        /*试炼之地*/
        npcButtonHandlers.put(NpcButton.hell.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).hell(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        /*功能地图*/
        npcButtonHandlers.put(NpcButton.hellgongneng.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).hellgongneng(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        /*天墉城*/
        npcButtonHandlers.put(NpcButton.tianyongchengll.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).tianyongchengll(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        /*挑战九幽*/
        npcButtonHandlers.put(NpcButton.jiuyou_boos.getKey(), (npcButtonParam -> SpringUtils.getBean(JiuYouHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*挑战真武*/
        npcButtonHandlers.put(NpcButton.zhenwu_boos.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhenWuHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*噬地*/
        npcButtonHandlers.put(NpcButton.tiaozhanshidi.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDiHandlr.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*挑战邪灵*/
        npcButtonHandlers.put(NpcButton.xieling_boos.getKey(), (npcButtonParam -> SpringUtils.getBean(XieLingHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*挑战杀戮*/
        npcButtonHandlers.put(NpcButton.shalu_boos.getKey(), (npcButtonParam -> SpringUtils.getBean(ShaluHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*大日金乌*/
        npcButtonHandlers.put(NpcButton.dari.getKey(), (npcButtonParam -> SpringUtils.getBean(DaRiJinWuHandlr.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界杨戬*/
        npcButtonHandlers.put(NpcButton.tianyangjian.getKey(), (npcButtonParam -> SpringUtils.getBean(TianYangJianHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界哪吒*/
        npcButtonHandlers.put(NpcButton.tiannezha.getKey(), (npcButtonParam -> SpringUtils.getBean(TiannezhaHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界孔宣*/
        npcButtonHandlers.put(NpcButton.tiankongxun.getKey(), (npcButtonParam -> SpringUtils.getBean(TianKongXuanHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界太白*/
        npcButtonHandlers.put(NpcButton.tiantaibai.getKey(), (npcButtonParam -> SpringUtils.getBean(TianTaiBaiJinXingHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界李靖*/
        npcButtonHandlers.put(NpcButton.tianlijing.getKey(), (npcButtonParam -> SpringUtils.getBean(TianLiJjingHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界雷震子*/
        npcButtonHandlers.put(NpcButton.tianleizhengzi.getKey(), (npcButtonParam -> SpringUtils.getBean(TianLeiZhenZiHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*天界天帝*/
        npcButtonHandlers.put(NpcButton.tiandi.getKey(), (npcButtonParam -> SpringUtils.getBean(TianTianDiHandler.class).challenge1(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        npcButtonHandlers.put("抽奖一次", (npcButtonParam -> SpringUtils.getBean(NewChouJiangService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
    	npcButtonHandlers.put("抽奖十次", (npcButtonParam -> SpringUtils.getBean(NewChouJiangService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
    	npcButtonHandlers.put("抽奖排名", (npcButtonParam -> SpringUtils.getBean(NewChouJiangService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
    	npcButtonHandlers.put("积分回收贵重宠物", (npcButtonParam -> SpringUtils.getBean(PetService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
    	//查询充值排行榜
        npcButtonHandlers.put(NpcButton.QUERY_CHARGE_RANK.getKey(), (npcButtonParam -> SpringUtils.getBean(NewChargeActivityService.class).queryChongZhiRangList(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        //查询冲榜
        npcButtonHandlers.put(NpcButton.chaxun_chongbang.getKey(), (npcButtonParam -> SpringUtils.getBean(TextViewController.class).queryChongBang(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.chaxun_renwucishu.getKey(), (npcButtonParam -> SpringUtils.getBean(TextViewController.class).queryTaskCount(npcButtonParam.getRole(),npcButtonParam.getNpc())));



        npcContentHandlers.put(NPC.TYPE_CHU_BAO, (npcContentParam -> SpringUtils.getBean(ChuBaoTaskHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_SHUA_DAO, (npcContentParam -> SpringUtils.getBean(ShuaDaoTaskHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_XIN_JUN, (npcContentParam -> SpringUtils.getBean(TowerTaskHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_XING_GUAN, (npcContentParam -> SpringUtils.getBean(XingGuanHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_BIANYI_XINJUN, (npcContentParam -> SpringUtils.getBean(BianYiXingGuanHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_XUAN_SHANG, (npcContentParam -> SpringUtils.getBean(XuanShangTaskHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_ZHANG_MEN, (npcContentParam -> SpringUtils.getBean(ZhangMenHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));
        npcContentHandlers.put(NPC.TYPE_YING_XIONG, (npcContentParam -> SpringUtils.getBean(YingXiongHuiHandler.class).sendNpcContent(npcContentParam.getRole(), npcContentParam.getNpc())));

        // add:b 接收修法任务
        npcButtonHandlers.put(NpcButton.ACCEPT_XIUFA_TASK.getKey(), npcButtonParam -> (SpringUtils.getBean(XiuFaTaskHandler.class)).acceptTaskAtNpc(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto()));
        npcButtonHandlers.put(NpcButton.SAODANG_XIUFA_TASK.getKey(), npcButtonParam -> (SpringUtils.getBean(XiuFaTaskHandler.class)).saoDangTask(npcButtonParam.getRole(), npcButtonParam.getNpc()));
        npcButtonHandlers.put(NpcButton.DO_XIUFA.getKey(), npcButtonParam -> (SpringUtils.getBean(XiuFaTaskHandler.class)).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc()));
        npcButtonHandlers.put(NpcButton.FETCH_XIUFA_REWARD.getKey(), npcButtonParam -> (SpringUtils.getBean(XiuFaTaskHandler.class)).fetchXiuFaReward(npcButtonParam.getRole(), npcButtonParam.getNpc()));
        // add:e
        npcButtonHandlers.put(NpcButton.ACCEPT_SCHOOL_TASK.getKey(), (npcButtonParam -> ((SchoolTaskHandler) TaskHelper.INSTANCE.getTaskHandler(TaskType.SCHOOL)).acceptSchoolTask(npcButtonParam.getRole(), npcButtonParam.getNpc())));
       /* 李总兵领取刷道任务的按钮*/
        npcButtonHandlers.put(NpcButton.ACCEPT_CHUBAO_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(ChuBaoTaskHandler.class).acceptTaskAtNpc(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));

        npcButtonHandlers.put(NpcButton.ACCEPT_YABIAO.getKey(), (npcButtonParam -> SpringUtils.getBean(YaBiaoTaskHandler.class).yabiao_start(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));

        /*挑战除暴怪物的按钮*/
        npcButtonHandlers.put(NpcButton.DO_CHUBAO.getKey(), (npcButtonParam -> SpringUtils.getBean(ChuBaoTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DONATE.getKey(), (npcButtonParam -> ((DonateTargetHandler) TaskTargetHelper.INSTANCE.getTargetHandler(TaskTargetType.DONATE)).donate(npcButtonParam.getRole())));
        npcButtonHandlers.put(NpcButton.CLICK_SUBMIT.getKey(), (npcButtonParam -> TaskTargetHelper.INSTANCE.getTargetHandler(TaskTargetType.CLICK_SUBMIT).handleEvent(npcButtonParam.getRole(), null)));
        /*接收刷道任务*/
        npcButtonHandlers.put(NpcButton.ACCEPT_SHUADAO_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(ShuaDaoTaskHandler.class).acceptShuaDaiTask1(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        /*接收刷道任务*/
        npcButtonHandlers.put(NpcButton.ACCEPT_SHUADAO_TASK2.getKey(), (npcButtonParam -> SpringUtils.getBean(ShuaDaoTaskHandler.class).acceptShuaDaiTask2(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));

        /*打刷道怪物*/
        npcButtonHandlers.put(NpcButton.DO_SHUADAO.getKey(), (npcButtonParam -> SpringUtils.getBean(ShuaDaoTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*接收修行任务*/
        npcButtonHandlers.put(NpcButton.ACCEPT_XIUXING_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(XiuXingTaskHandler.class).acceptTaskAtNpc(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        /*队友修行次数用完提示是否接收*/
        npcButtonHandlers.put(NpcButton.ACCEPT_XIUXING_TASK_NO_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(XiuXingTaskHandler.class).acceptXiuXingTaskAfterNoRewardTip(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        /*打修行怪物*/
        npcButtonHandlers.put(NpcButton.DO_XIUXING.getKey(), (npcButtonParam -> SpringUtils.getBean(XiuXingTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**领取十绝阵任务*/
        npcButtonHandlers.put(NpcButton.ACCEPT_SHIJUEZHEN_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiJueZhenTaskHandler.class).acceptTaskAtNpc(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        /**领取十绝阵任务，弹出有成员没有奖励后仍然领取*/
        npcButtonHandlers.put(NpcButton.ACCEPT_SHIJUEZHEN_TASK_NO_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiJueZhenTaskHandler.class).acceptShiJueZhenTaskAfterNoRewardTip(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        /**做十绝阵任务*/
        npcButtonHandlers.put(NpcButton.DO_SHIJUEZHEN.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiJueZhenTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
       /**助人为乐和通天塔*/
        npcButtonHandlers.put(NpcButton.CHOOSE_HELP_PEOPLE_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseHelpPeopleTask(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_EXP_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseHelpReward(npcButtonParam.getRole(), npcButtonParam.getNpc(), HelpPeopleTaskHandler.REWARD_TYPE_EXP)));
        npcButtonHandlers.put(NpcButton.CHOOSE_DAOHANG_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseHelpReward(npcButtonParam.getRole(), npcButtonParam.getNpc(), HelpPeopleTaskHandler.REWARD_TYPE_DAOHANG)));
        npcButtonHandlers.put(NpcButton.CHOOSE_QIANNENG_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseHelpReward(npcButtonParam.getRole(), npcButtonParam.getNpc(), HelpPeopleTaskHandler.REWARD_TYPE_QIANNENG)));
        npcButtonHandlers.put(NpcButton.CHOOSE_REWARD_MORE.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseRewardMore(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_REWARD_SELF.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseRewardSelf(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_SAO_DANG_HELP_PEOPLE.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseSaoDang(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_ENTER_TOWER.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).chooseEnterTower(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_TOWER_REWARD_EXP.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).chooseTowerRewardAndEnter(npcButtonParam.getRole(), npcButtonParam.getNpc(), RoleTowerData.REWARD_EXP)));
        npcButtonHandlers.put(NpcButton.CHOOSE_TOWER_REWARD_DAOHNAG.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).chooseTowerRewardAndEnter(npcButtonParam.getRole(), npcButtonParam.getNpc(), RoleTowerData.REWARD_DAOHANG)));
        npcButtonHandlers.put(NpcButton.FIGHT_TO_XIN_JUN.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FIGHT_TO_XIN_JUN_RESTART.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.ENTER_NEXT_LAYER.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).enterNextLayer(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FLY_UP.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).chooseFlyUp(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.LEAVE_TOWER.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).leave(npcButtonParam.getRole())));
        npcButtonHandlers.put(NpcButton.CHANGE_REWARD_TYPE.getKey(), (npcButtonParam -> SpringUtils.getBean(TowerTaskHandler.class).changeRewardType(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战海盗*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_PIRATE.getKey(), (npcButtonParam -> SpringUtils.getBean(PirateHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战精灵*/
   //     npcButtonHandlers.put(NpcButton.Fight_the_elves.getKey(), (npcButtonParam -> SpringUtils.getBean(UpLevelJlHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战天界叛逆*/
        npcButtonHandlers.put(NpcButton.Fight_the_daysoldier.getKey(), (npcButtonParam -> SpringUtils.getBean(GodsDescendToEarthHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战地府叛逆*/
        npcButtonHandlers.put(NpcButton.Fight_the_Undergroundrebels.getKey(), (npcButtonParam -> SpringUtils.getBean(UndergroundRebelsHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战异族入侵*/
        npcButtonHandlers.put(NpcButton.Fight_the_Alienintrusion.getKey(), (npcButtonParam -> SpringUtils.getBean(AlienIntrusionDandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战镇妖塔妖怪*/
        npcButtonHandlers.put(NpcButton.Fight_the_zhenyaota_yaoguai.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhenYaoPagodaHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**桃柳林杀鬼*/
        npcButtonHandlers.put(NpcButton.Fight_the_taoliulin_shagui.getKey(), (npcButtonParam -> SpringUtils.getBean(PeachWillowForestHander.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        /**挑战星官*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_XING_GUAN.getKey(), (npcButtonParam -> SpringUtils.getBean(XingGuanHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战星官*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_BIANYI_XING_GUAN.getKey(), (npcButtonParam -> SpringUtils.getBean(BianYiXingGuanHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**悬赏任务*/
        npcButtonHandlers.put(NpcButton.ACCEPT_XUANSHANG_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(XuanShangTaskHandler.class).acceptTaskAtNpc(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        npcButtonHandlers.put(NpcButton.DO_XUANSHANG.getKey(), (npcButtonParam -> SpringUtils.getBean(XuanShangTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FETCH_XUANSHANG_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(XuanShangTaskHandler.class).fetchXuanShangReward(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_XUANSHANG_REWARD_EXP.getKey(), (npcButtonParam -> SpringUtils.getBean(XuanShangTaskHandler.class).chooseXuanShangRewardExp(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CHOOSE_XUANSHANG_REWARD_DAOHANG.getKey(), (npcButtonParam -> SpringUtils.getBean(XuanShangTaskHandler.class).chooseXuanShangRewardDaohang(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**挑战上古妖王  万年*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_SHANGGU.getKey(), (npcButtonParam -> SpringUtils.getBean(ShangGuBossHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FIGHT_TO_WANNIAN.getKey(), (npcButtonParam -> SpringUtils.getBean(WanNianBossHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
       /**挑战烟花年兽**/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_NIANSHOU.getKey(), (npcButtonParam -> SpringUtils.getBean(YhuaNianshouBossHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        /**掌门相关*/
        npcButtonHandlers.put(NpcButton.FIHGT_TO_ZHANGMEN.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhangMenHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.UPDATE_ZHANGMEN_DATA.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhangMenHandler.class).updateZhangMenData(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.BEYOND_ZHANGMEN.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhangMenHandler.class).beyondSelf(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_ZHANGMEN.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhangMenHandler.class).viewZhangMen(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FIGHT_TO_YINGXIONG.getKey(), (npcButtonParam -> SpringUtils.getBean(YingXiongHuiHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.BEYONG_YINGXIONG.getKey(), (npcButtonParam -> SpringUtils.getBean(YingXiongHuiHandler.class).beyondSelf(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_YINGXIONG.getKey(), (npcButtonParam -> SpringUtils.getBean(YingXiongHuiHandler.class).viewYingXiong(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.ENTER_ZHENGDAODIAN.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).enterZhengDaoDian(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FIGHT_TO_ZHENGDAOHUFA.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.BEYONG_ZHENGDAOHUFA.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).beyondSelf(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**查看证道殿护法*/
        npcButtonHandlers.put(NpcButton.VIEW_ZHENGDAOHUFA.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).viewHuFa(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**使用道具挑战证道殿护法*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_ZHENGDAOHUFA_ITEM.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).fightUseItem(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**去上交证道魂*/
        npcButtonHandlers.put(NpcButton.GOTO_FIGHT_TO_ZHENGDAOHUFA_ITEM.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).gotoFightUseItem(npcButtonParam.getRole())));
        /**直接使用证道魂*/
        npcButtonHandlers.put(NpcButton.USE_ZHENGDAO_ITEM.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhengDaoDianHandler.class).useItemDirect(npcButtonParam.getRole())));
        /**购买野生宠物*/
        npcButtonHandlers.put(NpcButton.BUY_PET.getKey(), (npcButtonParam -> SpringUtils.getBean(PetService.class).sendPetShop(npcButtonParam.getRole())));
        /**兑换宠物*/
        npcButtonHandlers.put(NpcButton.EX_CHANGE_PET.getKey(), (npcButtonParam -> SpringUtils.getBean(PetService.class).exChangePet(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.EX_CHANGE_EPIC_PET.getKey(), (npcButtonParam -> SpringUtils.getBean(PetService.class).exChangePet(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.CALL_PET_SSD.getKey(), (npcButtonParam -> SpringUtils.getBean(PetService.class).exChangePet(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.CALL_EPIC_PET.getKey(), (npcButtonParam -> SpringUtils.getBean(PetService.class).exChangePet(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.do_obtain.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**进入秘境*/
        npcButtonHandlers.put(NpcButton.entermijing.getKey(), (npcButtonParam -> SpringUtils.getBean(MinjingController.class).entermijing(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.haoxianzhi.getKey(), (npcButtonParam -> SpringUtils.getBean(NiceService.class).nicefoNpc(npcButtonParam.getRole(), npcButtonParam.getMsg(), npcButtonParam.getNpc())));

        /**钱庄的打开操作*/
        npcButtonHandlers.put(NpcButton.STORE_ITEM.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.STORE_PET.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.STORE_MONEY.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**打开排行榜*/
        npcButtonHandlers.put(NpcButton.RANKING_LIST.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
       /**到集市逛逛*/
        npcButtonHandlers.put(NpcButton.MARKET_BUY.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**买卖*/
        npcButtonHandlers.put(NpcButton.SHOP_BUY.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
       /**五行竞猜*/
        npcButtonHandlers.put(NpcButton.OPEN_GUESS.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
       /*驱魔香*/
        npcButtonHandlers.put(NpcButton.BUY_QUMOXIANG.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**销毁贵重*/
        npcButtonHandlers.put(NpcButton.DESTROY.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DESTROY_PET.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DESTROY_ITEM.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**装备打造*/
        npcButtonHandlers.put(NpcButton.REFINING_SUIT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.EVOLVE.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.JEWELRY_UPGRADE.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.EQUIPMENT_UPGRADE.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.EQUIPMENT_REFINING.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.EQUIPMENT_SPLIT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**杂货店*/
        npcButtonHandlers.put(NpcButton.BUY_GROCERY.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /*世道*/
        /*试道大会报名参加*/
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_SIGNUP_MATCH.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).sendNpcContent(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_SIGNUP_CONFIRM.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).sendNpcContent(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_ENTER_MAP.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).enterShiDaoMap(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        /**试道大会挑战元魔*/
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_FIGHT_YUANMO.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoMonsterHandler.class).startFight(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        /**查看试道大会王者榜*/
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_GLORY_HISTORY.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).viewGloryHistory(npcButtonParam.getRole(),npcButtonParam.getNpc())));
        /**试道大会回天墉城*/
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_LEAVE.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).leave(npcButtonParam.getRole())));
        /**领取试道大会奖励*/
//        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).fetchReward(npcButtonParam.getRole())));
        /**试道大会前三名每日奖励*/
        //  npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_DAY_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(ShiDaoHandler.class).fetchDayReward(npcButtonParam.getRole())));
        /**试道大会说明*/
        npcButtonHandlers.put(NpcButton.SHIDAO_DAHUI_INSTRUCTION.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
       /**精怪相关*/
        npcButtonHandlers.put(NpcButton.IAM_READY.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.BUYBACK.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CALL_MOUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.MOUNT_INFO.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.HOW_CALL_MOUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.HOW_TAME_MOUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));

        npcButtonHandlers.put(NpcButton.TAME_MOUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**查看证道榜*/
        npcButtonHandlers.put(NpcButton.CHECK_ZHENDAO_RANKING.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**我要位列仙班*/
        npcButtonHandlers.put(NpcButton.BUY_VIP.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        /**了解PK*/
        npcButtonHandlers.put(NpcButton.PK_RULES.getKey(), (npcButtonParam -> SpringUtils.getBean(PkService.class).sendPkRules(npcButtonParam.getRole())));
        /**查询悬赏任务次数*/
        npcButtonHandlers.put(NpcButton.VIEW_XUANSHANG_COUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(XuanShangTaskHandler.class).viewXuanShangCount(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        //宠物飞升
        npcButtonHandlers.put(NpcButton.PET_FLY.getKey(), (npcButtonParam -> SpringUtils.getBean(PetFlyTaskHandler.class).chooseFly(npcButtonParam.getRole(),npcButtonParam.getNpc(),2)));
        npcButtonHandlers.put(NpcButton.PET_GHOST_FLY.getKey(), (npcButtonParam -> SpringUtils.getBean(PetFlyTaskHandler.class).chooseGhostFly(npcButtonParam.getRole(),npcButtonParam.getNpc(),5)));
        npcButtonHandlers.put(NpcButton.PET_FLY2.getKey(), (npcButtonParam -> SpringUtils.getBean(PetFlyTaskHandler.class).startFightTask(npcButtonParam.getRole(),npcButtonParam.getNpc())));
       //帮派相关
        /**帮派日常挑战*/
        npcButtonHandlers.put(NpcButton.PARTY_DAILY_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(PartyDailyTaskHandler.class).acceptTaskAtNpc(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.isAuto())));
        /**帮派日常前往挑战*/
        npcButtonHandlers.put(NpcButton.PARTY_DAILY_TASK_AUTOWALK.getKey(), (npcButtonParam -> SpringUtils.getBean(PartyDailyTaskHandler.class).autoWalk(npcButtonParam.getRole())));
        /**帮派日常开始挑战*/
        npcButtonHandlers.put(NpcButton.PARTY_DAILY_TASK_FITHT.getKey(), (npcButtonParam -> SpringUtils.getBean(PartyDailyTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /**帮派捐钱*/
        npcButtonHandlers.put(NpcButton.PARTY_DONATE.getKey(), (npcButtonParam -> SpringUtils.getBean(PartyService.class).reqDonate(npcButtonParam.getRole(), npcButtonParam.getNpc(), Const.PARTY_DONATE_1000000)));
        /**帮派捐钱2*/
        npcButtonHandlers.put(NpcButton.PARTY_DONATE2.getKey(), (npcButtonParam -> SpringUtils.getBean(PartyService.class).reqDonate(npcButtonParam.getRole(), npcButtonParam.getNpc(), Const.PARTY_DONATE_10000000)));
        npcButtonHandlers.put(NpcButton.FIGHT_TO_SUPER_BOSS.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.SUPER_BOSS_BUTTON.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).superBossButton(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_SUPER_BOSS_INTRODUCE.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).viewSuperBossIntroduce(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_SUPER_BOSS_ROLE_KILL_COUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).viewSuperBossRoleKillCount(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_SUPER_BOSS_POSITION.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).viewSuperBossPosition(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_SUPER_BOSS_FIGHT_COUNT.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).viewSuperBossKillCount(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FORCE_PK_TASK.getKey(), (npcButtonParam -> SpringUtils.getBean(PkService.class).acceptKillTask(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.VIEW_PRISONER.getKey(), (npcButtonParam -> SpringUtils.getBean(PkService.class).viewPrisoner(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.OPEN_SEARCH_DIALOG.getKey(), (npcButtonParam -> SpringUtils.getBean(PkService.class).openSearchDialog(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CLEAR_PKVALUE.getKey(), (npcButtonParam -> SpringUtils.getBean(PkService.class).clearForcePkValue(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DONATE_PKVALUE_MONEY.getKey(), (npcButtonParam -> SpringUtils.getBean(PkService.class).donatePkValueMoney(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.NEW_HELP_ACTIVITIES.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).view(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*新服助力*/
        npcButtonHandlers.put(NpcButton.NEW_HELP_RANK.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).viewRank(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.LIST_NEW_HELP_GIFT.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).listItem(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.BUY_NEW_HELP_GIFT1.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).buyItem(npcButtonParam.getRole(), npcButtonParam.getNpc(), 20)));
        npcButtonHandlers.put(NpcButton.BUY_NEW_HELP_GIFT2.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).buyItem(npcButtonParam.getRole(), npcButtonParam.getNpc(), 50)));
        npcButtonHandlers.put(NpcButton.BUY_NEW_HELP_GIFT3.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).buyItem(npcButtonParam.getRole(), npcButtonParam.getNpc(), 100)));
        /*副本*/
        npcButtonHandlers.put(NpcButton.ENTER_DUNGEON.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).chooseEnterDugeon(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DUNGEON_FIGHT.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.CANCEL_DUNGEON.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).cancelDugeon(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FETCH_DUNGEON_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).fetchReward(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DUGEON_REWARD_EXP.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).fetchExpReward(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DUGEON_REWARD_TAO.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).fetchTaoReward(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.DUGEON_REWARD_POT.getKey(), (npcButtonParam -> SpringUtils.getBean(DugeonTaskHandler.class).fetchPotReward(npcButtonParam.getRole(), npcButtonParam.getNpc())));
       //神魔挑战
//        npcButtonHandlers.put(NpcButton.DEVIL_FIGHT_ACTIVITY.getKey(), (npcButtonParam -> SpringUtils.getBean(DevilActivityHandler.class).view(npcButtonParam.getRole(), npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.DEVIL_FIGHT_ENTER.getKey(), (npcButtonParam -> SpringUtils.getBean(DevilActivityHandler.class).enter(npcButtonParam.getRole(), npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.DEVIL_FIGHT_START.getKey(), (npcButtonParam -> SpringUtils.getBean(DevilActivityHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.DEVIL_FIGHT_BUY_TIME_LIST.getKey(), (npcButtonParam -> SpringUtils.getBean(DevilActivityHandler.class).buyTimeList(npcButtonParam.getRole(), npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.DEVIL_FIGHT_BUY_TIME_MONEY.getKey(), (npcButtonParam -> SpringUtils.getBean(DevilActivityHandler.class).buyTimeMoney(npcButtonParam.getRole(), npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.DEVIL_FIGHT_BUY_TIME_GOLD.getKey(), (npcButtonParam -> SpringUtils.getBean(DevilActivityHandler.class).buyTimeGold(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.MAP_GUARDIAN_FIGHT.getKey(), (npcButtonParam -> SpringUtils.getBean(MapGuardianHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.FETCH_ONLINE_REWARD.getKey(), (npcButtonParam -> SpringUtils.getBean(OnlineRewardHandler.class).fetchReward(npcButtonParam.getRole())));
        /*战神*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_ZHANSHEN.getKey(), (npcButtonParam -> SpringUtils.getBean(ZhanShenHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*财神*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_CAISHEN.getKey(), (npcButtonParam -> SpringUtils.getBean(CaiShenHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*福星*/
        npcButtonHandlers.put(NpcButton.FIGHT_TO_FUXING.getKey(), (npcButtonParam -> SpringUtils.getBean(FuXingHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        /*变异星君*/
        //npcButtonHandlers.put(NpcButton.FIGHT_TO_BINYIXINGJUN.getKey(), (npcButtonParam -> SpringUtils.getBean(VariantStarHandler.class).startFight(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        /*结元婴*/
        npcButtonHandlers.put(NpcButton.LIST_ROLE_JIEYING.getKey(), (npcButtonParam -> SpringUtils.getBean(RoleFlyTaskHandler.class).listJieYing(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*元婴*/
        npcButtonHandlers.put(NpcButton.ROLE_JIEYING_YUANYING.getKey(), (npcButtonParam -> SpringUtils.getBean(RoleFlyTaskHandler.class).chooseYuanYing(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        /*血婴*/
        npcButtonHandlers.put(NpcButton.ROLE_JIEYING_XUEYING.getKey(), (npcButtonParam -> SpringUtils.getBean(RoleFlyTaskHandler.class).chooseXueYing(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        //万道袍 证道任务
        npcButtonHandlers.put(NpcButton.role_zhengdao.getKey(), (npcButtonParam -> SpringUtils.getBean(RoleZhengDaoTaskHandler.class).lingquTaoReward(npcButtonParam.getRole(), npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.role_zhengdao2.getKey(), (npcButtonParam -> SpringUtils.getBean(RoleZhengDaoTaskHandler.class).lingquTaoReward2(npcButtonParam.getRole(), npcButtonParam.getNpc())));

        npcButtonHandlers.put(NpcButton.jifen_zhouhuajian.getKey(), (npcButtonParam -> SpringUtils.getBean(ZHJService.class).buy(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.jifen_zhouhuajian_1.getKey(), (npcButtonParam -> SpringUtils.getBean(ZHJService.class).list(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.jifen_zhouhuajian_13.getKey(), (npcButtonParam -> SpringUtils.getBean(ZHJService.class).list(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.jifen_zhouhuajian_20.getKey(), (npcButtonParam -> SpringUtils.getBean(ZHJService.class).list(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.jifen_zhouhuajian_24.getKey(), (npcButtonParam -> SpringUtils.getBean(ZHJService.class).list(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.leiji_duowendaoren.getKey(), (npcButtonParam -> SpringUtils.getBean(DWDRService.class).buy(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.gaizao_guangshenggong.getKey(), (npcButtonParam -> SpringUtils.getBean(GSGService.class).buy(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.difu_enter.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).enter(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.difu_leave.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).leave(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.difu_qianwangshengyuan.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).diyushengyuan(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        /*前往升级幻境*/
        npcButtonHandlers.put(NpcButton.shengjihuanjing.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).shengjihuanjing(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        /*前往镇妖塔*/
        npcButtonHandlers.put(NpcButton.zhenyaota.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).zhenyaota(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        /*域外战场*/
        npcButtonHandlers.put(NpcButton.yuwaizhanchagn.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).yuwaizhanchang(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        /*九层妖塔*/
        npcButtonHandlers.put(NpcButton.jiuceng1.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).jiuceng1(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        npcButtonHandlers.put(NpcButton.difu_fanhui_zhucheng.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).backdifuzhucheng(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.difu_jinru_digong.getKey(), (npcButtonParam -> SpringUtils.getBean(DifuService.class).jinrudigong(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.miaoshou_daoren_onekey.getKey(), (npcButtonParam -> SpringUtils.getBean(MSDRService.class).onekey(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.miaoshou_daoren_querynum.getKey(), (npcButtonParam -> SpringUtils.getBean(MSDRService.class).queryNum(npcButtonParam.getRole(), npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.huodong_dashi_charge.getKey(), (npcButtonParam -> SpringUtils.getBean(ChargeActivityService.class).show(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
//        npcButtonHandlers.put(NpcButton.huodong_dashi_charge1.getKey(), (npcButtonParam -> SpringUtils.getBean(ChargeActivityService.class).show(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.menpo_buy_yingde.getKey(), (npcButtonParam -> SpringUtils.getBean(HunPoService.class).buyYingde(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.menpo_buy_yingde1.getKey(), (npcButtonParam -> SpringUtils.getBean(HunPoService.class).buyYingde(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));

        npcButtonPrefixHandlers.put(NpcButton.CHOOSE_HELP_WHO_PREFIX.getKey(), (npcButtonParam -> SpringUtils.getBean(HelpPeopleTaskHandler.class).chooseHelpWho(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.TASK_TALK_PREFIX.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).popTaskTalk(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.GOTO_SUPER_BOSS_PREFIX.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperBossHandler.class).gotoSuperBossPosition(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.NEW_HELP_RANK_ORDER_PREFIX.getKey(), (npcButtonParam -> SpringUtils.getBean(NewHelpActivityHandler.class).viewRankOrder(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.CAMP_SELECTION_PREFIX.getKey(), (npcButtonParam -> SpringUtils.getBean(CampService.class).popTaskTalk(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));

        npcButtonPrefixHandlers.put(NpcButton.DUIHUAN_PREFIX.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).suipianduihuan(npcButtonParam.getRole(),  npcButtonParam.getMsg())));


        itemButtons.add(NpcButton.GOTO_FIGHT_TO_ZHENGDAOHUFA_ITEM.getKey());
        itemButtons.add(NpcButton.USE_ZHENGDAO_ITEM.getKey());

        /**副本取消和奖励按钮显示*/
        List<Function<Role, String>> buttonFunctions = new ArrayList<>();
        buttonFunctions.add(role -> SpringUtils.getBean(DugeonTaskHandler.class).getCancelButton(role));
        buttonFunctions.add(role -> SpringUtils.getBean(DugeonTaskHandler.class).getRewardButton(role));
        spetialButtons.put(15017, buttonFunctions);

        /**通天塔星君*/
        appearanceHandlers.put(19974, SpringUtils.getBean(TowerAppearanceHandler.class));
        appearanceHandlers.put(19975, SpringUtils.getBean(TowerAppearanceHandler.class));
        appearanceHandlers.put(19976, SpringUtils.getBean(TowerAppearanceHandler.class));
        appearanceHandlers.put(19977, SpringUtils.getBean(TowerAppearanceHandler.class));
        appearanceHandlers.put(19979, SpringUtils.getBean(TowerAppearanceHandler.class));
        appearanceHandlers.put(19980, SpringUtils.getBean(TowerAppearanceHandler.class));
        appearanceHandlers.put(19981, SpringUtils.getBean(TowerAppearanceHandler.class));

        /**掌门*/
        appearanceHandlers.put(13788, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(13871, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(13916, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(14567, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(14609, SpringUtils.getBean(FightMirrorAppearanceHandler.class));

        /**证道殿*/
        appearanceHandlers.put(16208, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16210, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16212, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16214, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16216, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16218, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16220, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16222, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16224, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16226, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16228, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16230, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16232, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16234, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16236, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16238, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16272, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16274, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16276, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16278, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16280, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16282, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16284, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16286, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16288, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16290, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16292, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16294, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16296, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16298, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16300, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16302, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16336, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16338, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16340, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16342, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16344, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16346, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16348, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16350, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16352, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16354, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16356, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16358, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16360, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16362, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16364, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16366, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16400, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16402, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16404, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16406, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16408, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16410, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16412, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16414, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16416, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16418, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16420, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16422, SpringUtils.getBean(FightMirrorAppearanceHandler.class));

        /**英雄会*/
        appearanceHandlers.put(16424, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16426, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16428, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16430, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16464, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(16466, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(88892, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(88893, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(88894, SpringUtils.getBean(FightMirrorAppearanceHandler.class));

        /**挑战神魔活动神魔*/
        appearanceHandlers.put(1100, SpringUtils.getBean(DevilAppearanceHandler.class));
        appearanceHandlers.put(1101, SpringUtils.getBean(DevilAppearanceHandler.class));
        appearanceHandlers.put(1102, SpringUtils.getBean(DevilAppearanceHandler.class));
        appearanceHandlers.put(1103, SpringUtils.getBean(DevilAppearanceHandler.class));
        appearanceHandlers.put(1104, SpringUtils.getBean(DevilAppearanceHandler.class));

        /**守护神*/
        appearanceHandlers.put(20819, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20821, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20823, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20825, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20827, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20499, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20501, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20503, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20505, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20507, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20695, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20697, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20699, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20701, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20703, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20519, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20521, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20523, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20525, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20527, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20561, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20563, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20565, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20567, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20569, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20757, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20759, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20761, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20763, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20765, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20653, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20655, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20689, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20691, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20693, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20581, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20583, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20585, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20587, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20589, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20457, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20459, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20461, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20463, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20497, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20447, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20449, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20451, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20453, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20455, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20509, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20511, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20513, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20515, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20517, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20571, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20573, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20575, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20577, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20579, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20767, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20769, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20771, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20773, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20775, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20777, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20779, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20781, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20783, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20817, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20705, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20707, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20709, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20711, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20713, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20591, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20625, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20627, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20629, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20631, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20437, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20439, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20441, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20443, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20445, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20643, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20645, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20647, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20649, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        appearanceHandlers.put(20651, SpringUtils.getBean(FightMirrorAppearanceHandler.class));
        // 周华健
        appearanceHandlers.put(992, SpringUtils.getBean(ZHJAppearanceHandler.class));
        appearanceHandlers.put(993, SpringUtils.getBean(TZLCAppearanceHandler.class));
        appearanceHandlers.put(14879, SpringUtils.getBean(GSGAppearanceHandler.class));
        appearanceHandlers.put(14993, SpringUtils.getBean(HDDSAppearanceHandler.class));
        appearanceHandlers.put(14948, SpringUtils.getBean(DLTAppearanceHandler.class));
        appearanceHandlers.put(15058, SpringUtils.getBean(KFSSSQRAppearanceHandler.class));
        appearanceHandlers.put(20145, SpringUtils.getBean(SDJYRAppearanceHandler.class));
//        appearanceHandlers.put(14993, SpringUtils.getBean(MSDRAppearanceHandler.class));
        appearanceHandlers.put(14751, SpringUtils.getBean(DWDRAppearanceHandler.class));
        // 刷道
        appearanceHandlers.put(14996, SpringUtils.getBean(ShuadaoAppearanceHandler.class));
        appearanceHandlers.put(15194, SpringUtils.getBean(ShuadaoAppearanceHandler.class));
        appearanceHandlers.put(14555, SpringUtils.getBean(ShuadaoAppearanceHandler.class));
        //七杀试炼
        npcButtonHandlers.put(NpcButton.qisha_shilian.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        //模拟一次button点击事件
        npcButtonHandlers.put(NpcButton.qisha_zhandou.getKey(), (npcContentParam -> SpringUtils.getBean(QishaController.class).startFight(npcContentParam.getRole(), npcContentParam.getNpc())));


     //九天真君
        npcButtonHandlers.put(NpcButton.jiutian_zhenjun.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        //飞升仙魔
		npcButtonHandlers.put(NpcButton.feis_xianmo.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
	 //固定队
        npcButtonHandlers.put(NpcButton.gudingdui.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.quitgudingdui.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).npcButton(npcButtonParam.getRole(),npcButtonParam.getMsg(),npcButtonParam.getNpc())));

        /*80成品力套*/
        npcButtonHandlers.put(NpcButton.equip_product_li.getKey(), (npcButtonParam -> SpringUtils.getBean(EquipProduceHandler.class).getEquip(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.equip_product_fa.getKey(), (npcButtonParam -> SpringUtils.getBean(EquipProduceHandler.class).getEquip(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.equip_product_ti.getKey(), (npcButtonParam -> SpringUtils.getBean(EquipProduceHandler.class).getEquip(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        /**
         * 八仙
         */
        npcButtonHandlers.put(NpcButton.baxian_mengjing.getKey(), (npcButtonParam -> SpringUtils.getBean(BaXianController.class).openBaXianDlg(npcButtonParam.getRole(), npcButtonParam.getMsg())));


        //在线客服
        npcButtonHandlers.put(NpcButton.zaixiankefu.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).openOnlineUrl(npcButtonParam.getRole())));


        /**
         * 八仙
         */
        npcButtonHandlers.put(NpcButton.baxian_mengjing.getKey(), (npcButtonParam -> SpringUtils.getBean(BaXianController.class).openBaXianDlg(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        npcButtonHandlers.put(NpcButton.shoushi_li.getKey(), (npcButtonParam -> SpringUtils.getBean(JewelryGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.shoushi_fa.getKey(), (npcButtonParam -> SpringUtils.getBean(JewelryGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.shoushi_ti.getKey(), (npcButtonParam -> SpringUtils.getBean(JewelryGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.shoushi_min.getKey(), (npcButtonParam -> SpringUtils.getBean(JewelryGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        npcButtonHandlers.put(NpcButton.hunqiao_li.getKey(), (npcButtonParam -> SpringUtils.getBean(HunQiaoGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.hunqiao_fa.getKey(), (npcButtonParam -> SpringUtils.getBean(HunQiaoGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.hunqiao_ti.getKey(), (npcButtonParam -> SpringUtils.getBean(HunQiaoGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.hunqiao_min.getKey(), (npcButtonParam -> SpringUtils.getBean(HunQiaoGiftHandler.class).sendReward(npcButtonParam.getRole(), npcButtonParam.getMsg())));

        npcButtonHandlers.put(NpcButton.attrib_li.getKey(), (npcButtonParam ->SpringUtils.getBean(NewNpcService.class).addRoleAttribPoint(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.attrib_fa.getKey(), (npcButtonParam ->SpringUtils.getBean(NewNpcService.class).addRoleAttribPoint(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.attrib_ti.getKey(), (npcButtonParam ->SpringUtils.getBean(NewNpcService.class).addRoleAttribPoint(npcButtonParam.getRole(),npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.attrib_min.getKey(), (npcButtonParam ->SpringUtils.getBean(NewNpcService.class).addRoleAttribPoint(npcButtonParam.getRole(),npcButtonParam.getMsg())));


        npcButtonHandlers.put(NpcButton.ceshi.getKey(), (npcButtonParam ->SpringUtils.getBean(NewNpcService.class).ceshi(npcButtonParam.getRole(),npcButtonParam.getMsg())));



        npcButtonHandlers.put(NpcButton.exchangeAttrByPet1.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPet(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet2.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPet(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet3.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPet(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet4.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPet(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet5.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPet(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet6.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPet(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet7.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet8.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet9.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet10.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet11.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet12.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet13.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet14.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet15.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet16.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet17.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.exchangeAttrByPet18.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).exchangeAttrByPetbianyi(npcButtonParam.getRole(), npcButtonParam.getMsg())));
        npcButtonHandlers.put(NpcButton.zhenmolu.           getKey(), (npcButtonParam -> SpringUtils.getBean(ZhenMoLuService.class).openZmlDlg(npcButtonParam.getRole(), npcButtonParam.getMsg(), npcButtonParam.getNpc())));

        npcButtonHandlers.put(NpcButton.jinghuaneidan.      getKey(), (npcButtonParam -> SpringUtils.getBean(ZhenMoLuService.class).openZmlJinghuaDlg(npcButtonParam.getRole(), npcButtonParam.getMsg(), npcButtonParam.getNpc())));



        npcButtonHandlers.put(NpcButton.book_xilian.getKey(), (npcButtonParam -> SpringUtils.getBean(NewNpcService.class).getBookXilianContent(npcButtonParam.getRole(), npcButtonParam.getMsg(),npcButtonParam.getNpc())));
        npcButtonHandlers.put(NpcButton.lingqu_vip_reward.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperVipService.class).getSuperVipReward(npcButtonParam.getRole())));
        npcButtonHandlers.put(NpcButton.chakan_vip.getKey(), (npcButtonParam -> SpringUtils.getBean(SuperVipService.class).chakanVipTypeContent(npcButtonParam.getRole(),npcButtonParam.getNpc())));

        npcButtonHandlers.put(NpcButton.joinXianChiMap.getKey(), (npcButtonParam -> SpringUtils.getBean(YuLuXianChi.class).joinXianChiMap(npcButtonParam.getRole())));


        /**购买居所*/
        npcButtonPrefixHandlers.put(NpcButton.TO_BUY_HOUSE.getKey(), (npcButtonParam -> SpringUtils.getBean(HouseService.class).toBuyHouse(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.BUY_HOUSE1.getKey(), (npcButtonParam -> SpringUtils.getBean(HouseService.class).buyHouse1(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.BUY_HOUSE2.getKey(), (npcButtonParam -> SpringUtils.getBean(HouseService.class).buyHouse2(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));
        npcButtonPrefixHandlers.put(NpcButton.BUY_HOUSE3.getKey(), (npcButtonParam -> SpringUtils.getBean(HouseService.class).buyHouse3(npcButtonParam.getRole(), npcButtonParam.getNpc(), npcButtonParam.getMsg())));


        npcButtonPrefixHandlers.put(NpcButton.zhuansheng.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).zhuansheng(npcButtonParam.getRole())));
        npcButtonPrefixHandlers.put(NpcButton.zhuanshengxiaohao.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).zhuanshengxiaohao(npcButtonParam.getRole(),npcButtonParam.getNpc())));

        npcButtonPrefixHandlers.put(NpcButton.zhounianka.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).zhounianka(npcButtonParam.getRole(),npcButtonParam.getNpc())));

        npcButtonPrefixHandlers.put(NpcButton.suipianduihuan.getKey(), (npcButtonParam -> SpringUtils.getBean(HDDSService.class).suipianduihuan(npcButtonParam.getRole(),npcButtonParam.getNpc())));



        /*成仙之路*/
//        npcButtonHandlers.put(NpcButton.chengxianzhilu.getKey(), (npcButtonParam -> SpringUtils.getBean(CampService.class).chengxianzhilu(npcButtonParam.getRole(), npcButtonParam.getMsg())));
    }

}
